package m4d2;

import java.util.function.Supplier;

//常用的函数式接口
//Supplier被称为生产型接口，
public class eSupplier {
    public static String getString(Supplier<String> sup){
        //接口指定什么类型，get就返回什么类型
        return sup.get();
    }

    public static int getMax(Supplier<Integer> sup){
        //接口指定什么类型，get就返回什么类型
        return sup.get();
    }

    public static void main(String[] args) {
        String s = getString(()->{
            //生产一个字符串并返回
            return "hahaha";

        });
        System.out.println(s);

        //数组最大值
        //由于参数是函数式接口，可以lambda
        int[] arr = {10,2,4,5};
        int max1 = getMax(()->{
            int max = arr[0];
            for (int i : arr) {
                if(i>max){
                    max = i;
                }
            }
            return max;
        });

        System.out.println(max1);
    }
}
